Customer Relationship Management (CRM) solutions provide tools and capabilities needed to create and maintain a clear picture of customers, from first contact through purchase and post-sales. For complex organizations, a CRM system may provide features and capabilities to help improve the way sales and marketing organizations target new customers, manage marketing campaigns, and drive sales activities. CRM systems may include many components, hardware and software, utilized individually or in a shared manner by users internal or external to the organization.
CRM systems are an example of computing systems where entities such as persons, organizations, accounts, and similar ones are tracked for various purposes. While many solutions exist for tracking attributes of entities such as a role of a business contact, conventional entity relationship models are typically incomplete. Attributes on relationships are not supported in a generic manner. Accordingly, ad-hoc relationships between people/businesses (users, contacts, accounts, etc.) and business entities in a system may not be captured, may only be captured in unstructured form (e.g. notes), or partially captured through explicitly defined and rigid schemas. The lack of these abilities makes it difficult to effectively use CRM to manage business relationships effectively.